package com.example.blog.service;

import com.example.blog.dto.ContentAuditDTO;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

public interface ContentAuditService {
    ContentAuditDTO submitForAudit(ContentAuditDTO auditDTO);
    ContentAuditDTO approve(Long id, String reason);
    ContentAuditDTO reject(Long id, String reason);
    ContentAuditDTO getAuditById(Long id);
    Page<ContentAuditDTO> getPendingAudits(Pageable pageable);
    Page<ContentAuditDTO> getAuditsByStatus(String status, Pageable pageable);
    Page<ContentAuditDTO> getAuditsBySubmitter(Long submitterId, Pageable pageable);
    Page<ContentAuditDTO> getAuditsByAuditor(Long auditorId, Pageable pageable);
    Page<ContentAuditDTO> getAuditsByContent(String type, Long contentId, Pageable pageable);
    boolean isContentUnderAudit(String type, Long contentId);
} 